package com.zllkj.mm.util;


import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;


/**
 * 时间转换工具
 */
public class TimeUtil {

    /**
     * 时间戳转换成日期格式字符串
     *
     * @param seconds 精确到秒的字符串
     * @return
     */
    public static String timeStamp2Date(String seconds, String format) {
        if (seconds == null || seconds.isEmpty() || seconds.equals("null")) {
            return "";
        }
        if (format == null || format.isEmpty()) {
            format = "yyyy-MM-dd HH:mm:ss";
        }
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        sdf.setTimeZone(TimeZone.getTimeZone("GMT+08"));
        return sdf.format(new Date(Long.valueOf(seconds + "000")));
    }

    /**
     * 日期格式字符串转换成时间戳
     *
     * @param date   字符串日期
     * @param format 如：yyyy-MM-dd HH:mm:ss
     * @return
     */
    public static String date2TimeStamp(String date_str, String format) {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            return String.valueOf(sdf.parse(date_str).getTime() / 1000);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

    /**
     * 取得当前时间戳（精确到秒）
     *
     * @return
     */
    public static String timeStamp() {
        long time = System.currentTimeMillis();
        String t = String.valueOf(time / 1000);
        return t;
    }


    private TimeUtil() {
    }

//    /**
//     * 时间转化为显示字符串
//     *
//     * @param timeStamp 单位为秒
//     */
//    public static String getTimeStr(long timeStamp) {
//        if (timeStamp == 0) return "";
//        Calendar inputTime = Calendar.getInstance();
//        inputTime.setTimeInMillis(timeStamp * 1000);
//        Date currenTimeZone = inputTime.getTime();
//        Calendar calendar = Calendar.getInstance();
//        calendar.set(Calendar.HOUR_OF_DAY, 23);
//        calendar.set(Calendar.MINUTE, 59);
//        if (calendar.before(inputTime)) {
//            //今天23:59在输入时间之前，解决一些时间误差，把当天时间显示到这里
//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy" +
//                    AppContext.getInstance().getResources().getString(R.string.time_year) + "MM" +
//                    AppContext.getInstance().getResources().getString(R.string.time_month) + "dd" +
//                    AppContext.getInstance().getResources().getString(R.string.time_day));
//            return sdf.format(currenTimeZone);
//        }
//        calendar.set(Calendar.HOUR_OF_DAY, 0);
//        calendar.set(Calendar.MINUTE, 0);
//        calendar.set(Calendar.SECOND, 0);
//        calendar.set(Calendar.MILLISECOND, 0);
//        if (calendar.before(inputTime)) {
//            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
//            return sdf.format(currenTimeZone);
//        }
//        calendar.add(Calendar.DAY_OF_MONTH, -1);
//        if (calendar.before(inputTime)) {
//            return AppContext.getInstance().getResources().getString(R.string.time_yesterday);
//        } else {
//            calendar.set(Calendar.DAY_OF_MONTH, 1);
//            calendar.set(Calendar.MONTH, Calendar.JANUARY);
//            if (calendar.before(inputTime)) {
//                SimpleDateFormat sdf = new SimpleDateFormat("M" +
//                        AppContext.getInstance().getResources().getString(R.string.time_month) + "d" +
//                        AppContext.getInstance().getResources().getString(R.string.time_day));
//                return sdf.format(currenTimeZone);
//            } else {
//                SimpleDateFormat sdf = new SimpleDateFormat("yyyy" +
//                        AppContext.getInstance().getResources().getString(R.string.time_year) + "MM" +
//                        AppContext.getInstance().getResources().getString(R.string.time_month) + "dd" +
//                        AppContext.getInstance().getResources().getString(R.string.time_day));
//                return sdf.format(currenTimeZone);
//
//            }
//
//        }
//
//    }
//
//    /**
//     * 时间转化为聊天界面显示字符串
//     *
//     * @param timeStamp 单位为秒
//     */
//    public static String getChatTimeStr(long timeStamp) {
//        if (timeStamp == 0) return "";
//        Calendar inputTime = Calendar.getInstance();
//        inputTime.setTimeInMillis(timeStamp * 1000);
//        Date currenTimeZone = inputTime.getTime();
//        Calendar calendar = Calendar.getInstance();
//        if (calendar.before(inputTime)) {
//            //当前时间在输入时间之前
//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy" +
//                    AppContext.getInstance().getResources().getString(R.string.time_year) + "MM" +
//                    AppContext.getInstance().getResources().getString(R.string.time_month) + "dd" +
//                    AppContext.getInstance().getResources().getString(R.string.time_day));
//            return sdf.format(currenTimeZone);
//        }
//        calendar.set(Calendar.HOUR_OF_DAY, 0);
//        calendar.set(Calendar.MINUTE, 0);
//        calendar.set(Calendar.SECOND, 0);
//        calendar.set(Calendar.MILLISECOND, 0);
//        if (calendar.before(inputTime)) {
//            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
//            return sdf.format(currenTimeZone);
//        }
//        calendar.add(Calendar.DAY_OF_MONTH, -1);
//        if (calendar.before(inputTime)) {
//            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
//            return AppContext.getInstance().getResources().getString(R.string.time_yesterday) + " " + sdf.format(currenTimeZone);
//        } else {
//            calendar.set(Calendar.DAY_OF_MONTH, 1);
//            calendar.set(Calendar.MONTH, Calendar.JANUARY);
//            if (calendar.before(inputTime)) {
//                SimpleDateFormat sdf = new SimpleDateFormat("M" +
//                        AppContext.getInstance().getResources().getString(R.string.time_month) + "d" +
//                        AppContext.getInstance().getResources().getString(R.string.time_day) + " HH:mm");
//                return sdf.format(currenTimeZone);
//            } else {
//                SimpleDateFormat sdf = new SimpleDateFormat("yyyy" +
//                        AppContext.getInstance().getResources().getString(R.string.time_year) + "MM" +
//                        AppContext.getInstance().getResources().getString(R.string.time_month) + "dd" +
//                        AppContext.getInstance().getResources().getString(R.string.time_day) + " HH:mm");
//                return sdf.format(currenTimeZone);
//            }
//
//        }
//
//    }

    /*时间戳转换成字符窜*/
    public static String getDateToString(long time) {
        Date d = new Date(time * 1000);
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
        return sf.format(d);
    }
}
